package com.cloud.jvm.ref;

/**
 * @version v1.0
 * @author: TianXiang
 * @description: 强引用-强行引用对象
 * @date: 2021/5/31
 */
public class StrongRef {
    
    public static void main(String[] args) {
        // 强行引用对象-强引用
        Object o1 = new Object();
        // o1 强引用的引用地址 赋值给 o2
        Object o2 = o1;
        // o1将引用指向为null, 但所引用的对象还是存活的
        o1 = null;
        // 执行GC
        System.gc();
        // o1 = null 仅将o1的引用置空了
        System.out.println(o1);
        // o2引用的是o1的对象, o1强行引用对象-强引用, 所以被引用的对象不会被GC回收, 因此o2 会有对象引用 java.lang.Object@2957fcb0
        System.out.println(o2);
    }
    
}
